home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / firiir.arc / SFIR.ASM < prev   
Encoding:
Assembly Source File  |  1985-08-15  |  5.1 KB  |  184 lines

  1. ************************************************************
  2. *
  3. *            LINEAR-PHASE FIR FILTER
  4. *               LENGTH-80 BANDPASS FILTER
  5. *
  6. *    SAMPLING FREQUENCY = 10 KHZ
  7. *
  8. *             FILTER CHARACTERISTICS
  9. *
  10. *                BAND 1     BAND 2      BAND 3
  11. *
  12. *    LOWER BAND EDGE     0.0000     1.3750      4.0000
  13. *    UPPER BAND EDGE     1.0000     3.6250      5.0000
  14. *    NOMINAL GAIN        0.0000     1.0000      0.0000
  15. *    NOMINAL RIPPLE        0.0010     0.0200      0.0010
  16. *    MAXIMUM RIPPLE        0.0004     0.0076      0.0004
  17. *    RIPPLE IN DB      -68.3965     0.0657    -68.3997
  18. *
  19. *                FILTER STRUCTURE
  20. *
  21. *
  22. *           -1      -1             -1
  23. *          z       z             z
  24. * o--->---o--->---o--->---o---> -  -  -o---->---o
  25. * x(n)      |      |      |           |    |
  26. *      |      |      |           |    |
  27. *      v h(0)  v h(1)  v h(2)       v h(N-2) v h(N-1)
  28. *      |      |      |           |    |
  29. *      |      |      |           |    |
  30. *      o--->---o--->---o---> -  -  -o--->----o--->---o
  31. *                               y(n)
  32. *
  33. ************************************************************
  34. *
  35. *  +--------------------------------------------------------+
  36. *  | CYCLES | EXECUTION TIME | PROGRAM MEMORY | DATA MEMORY |
  37. *  |        | (MICROSECONDS) |       (WORDS)    |   (WORDS)   |
  38. *  |--------+----------------+----------------+-------------|
  39. *  |        |             |              |         |
  40. *  |   90   |       18         |        10          |     161     |
  41. *  |        |             |              |         |
  42. *  +--------------------------------------------------------+
  43. *
  44. *   (EXCLUDING INITIALIZATION AND I/O)
  45. ************************************************************
  46. *
  47.     IDT 'FIRBPASS'
  48. YN    EQU    45
  49. MODE    EQU    46
  50. CLOCK    EQU    47
  51. XN    EQU    48
  52. *
  53.     AORG 0
  54.     B    START
  55. *
  56. CTABLE    AORG    32
  57. CH0    DATA    >FFDC    * -0.107251E-02 *
  58. CH1    DATA    >001F    *  0.973976E-03 *
  59. CH2    DATA    >0051    *  0.249065E-02 *
  60. CH3    DATA    >FFE9    * -0.675043E-03 *
  61. CH4    DATA    >FFE6    * -0.771385E-03 *
  62. CH5    DATA    >FFBA    * -0.212256E-03 *
  63. CH6    DATA    >FFB4    * -0.229530E-02 *
  64. CH7    DATA    >004B    *  0.231021E-02 *
  65. CH8    DATA    >FFF9    * -0.194902E-03 *
  66. CH9    DATA    >0069    *  0.322896E-02 *
  67. CH10    DATA    >00A2    *  0.496452E-02 *
  68. CH11    DATA    >FF6F    * -0.440419E-02 *
  69. CH12    DATA    >FFFE    * -0.314831E-04 *
  70. CH13    DATA    >FF70    * -0.438169E-02 *
  71. CH14    DATA    >FEF4    * -0.815474E-02 *
  72. CH15    DATA    >00CB    *  0.621682E-02 *
  73. CH16    DATA    >000B    *  0.342216E-03 *
  74. CH17    DATA    >00E6    *  0.704627E-02 *
  75. CH18    DATA    >0187    *  0.119391E-01 *
  76. CH19    DATA    >FEE5    * -0.860811E-02 *
  77. CH20    DATA    >000B    *  0.346738E-03 *
  78. CH21    DATA    >FE7F    * -0.117293E-01 *
  79. CH22    DATA    >FDBF    * -0.175964E-01 *
  80. CH23    DATA    >0192    *  0.122947E-01 *
  81. CH24    DATA    >FFB5    * -0.227426E-02 *
  82. CH25    DATA    >026A    *  0.188796E-01 *
  83. CH26    DATA    >0368    *  0.266148E-01 *
  84. CH27    DATA    >FDC2    * -0.175126E-01 *
  85. CH28    DATA    >00C0    *  0.586574E-02 *
  86. CH29    DATA    >FC0A    * -0.309240E-01 *
  87. CH30    DATA    >FAA3    * -0.418954E-01 *
  88. CH31    DATA    >0347    *  0.256315E-01 *
  89. CH32    DATA    >FE3D    * -0.137498E-01 *
  90. CH33    DATA    >0747    *  0.568720E-01 *
  91. CH34    DATA    >09BB    *  0.760286E-01 *
  92. CH35    DATA    >FA3D    * -0.450011E-01 *
  93. CH36    DATA    >052B    *  0.403853E-01 *
  94. CH37    DATA    >EB59    * -0.161339E+00 *
  95. CH38    DATA    >DC2A    * -0.279963E+00 *
  96. CH39    DATA    >2D57    *  0.352454E+00 *
  97. CH40    DATA    >2D57    *  0.352454E+00 *
  98. CH41    DATA    >DC2A    * -0.279963E+00 *
  99. CH42    DATA    >EB59    * -0.161339E+00 *
  100. CH43    DATA    >052B    *  0.403853E-01 *
  101. CH44    DATA    >FA3D    * -0.450011E-01 *
  102. CH45    DATA    >09BB    *  0.760286E-01 *
  103. CH46    DATA    >0747    *  0.568720E-01 *
  104. CH47    DATA    >FE3D    * -0.137498E-01 *
  105. CH48    DATA    >0347    *  0.256315E-01 *
  106. CH49    DATA    >FAA3    * -0.418954E-01 *
  107. CH50    DATA    >FC0A    * -0.309240E-01 *
  108. CH51    DATA    >00C0    *  0.586574E-02 *
  109. CH52    DATA    >FDC2    * -0.175126E-01 *
  110. CH53    DATA    >0368    *  0.266148E-01 *
  111. CH54    DATA    >026A    *  0.188796E-01 *
  112. CH55    DATA    >FFB5    * -0.227426E-02 *
  113. CH56    DATA    >0192    *  0.122947E-01 *
  114. CH57    DATA    >FDBF    * -0.175964E-01 *
  115. CH58    DATA    >FE7F    * -0.117293E-01 *
  116. CH59    DATA    >000B    *  0.346738E-03 *
  117. CH60    DATA    >FEE5    * -0.860811E-02 *
  118. CH61    DATA    >0187    *  0.119391E-01 *
  119. CH62    DATA    >00E6    *  0.704627E-02 *
  120. CH63    DATA    >000B    *  0.342216E-03 *
  121. CH64    DATA    >00CB    *  0.621682E-02 *
  122. CH65    DATA    >FEF4    * -0.815474E-02 *
  123. CH66    DATA    >FF70    * -0.438169E-02 *
  124. CH67    DATA    >FFFE    * -0.314831E-04 *
  125. CH68    DATA    >FF6F    * -0.440419E-02 *
  126. CH69    DATA    >00A2    *  0.496452E-02 *
  127. CH70    DATA    >0069    *  0.322896E-02 *
  128. CH71    DATA    >FFF9    * -0.194902E-03 *
  129. CH72    DATA    >004B    *  0.231021E-02 *
  130. CH73    DATA    >FFB4    * -0.229530E-02 *
  131. CH74    DATA    >FFBA    * -0.212256E-03 *
  132. CH75    DATA    >FFE6    * -0.771385E-03 *
  133. CH76    DATA    >FFE9    * -0.675043E-03 *
  134. CH77    DATA    >0051    *  0.249065E-02 *
  135. CH78    DATA    >001F    *  0.973976E-03 *
  136. CH79    DATA    >FFDC    * -0.107251E-02 *
  137. *
  138. MD    DATA    >000A
  139. SMP    DATA    >01F3         ; SAMPLING RATE OF 10 KHZ *
  140. *
  141. START    EQU    $
  142. *
  143. * INITIALIZATION OF THE ANALOG INTERFACE BOARD
  144. *
  145.     LDPK    7
  146.     LACK    MD
  147.     TBLR    MODE
  148.     OUT    MODE,PA0
  149.     LACK    SMP
  150.     TBLR    CLOCK
  151.     OUT    CLOCK,PA1
  152. *
  153. * LOAD FILTER COEFFICIENTS
  154. *
  155.     LARP    AR0         ; USE AR0 FOR INDIRECT ADDRESSING
  156.     LRLK    AR0,>200     ; POINT TO BLOCK B0
  157.     RPTK    >4F         ; 80 COEFFICIENTS
  158.     BLKP    CTABLE,*+
  159. *
  160.     CNFP             ; USE BLOCK B0 AS PROGRAM AREA
  161. *
  162. WAIT    BIOZ    NXTPT         ; BIO PIN GOES LOW WHEN A
  163.     B    WAIT         ; NEW SAMPLE IS AVAILABLE
  164. *
  165. NXTPT    IN    XN,PA2         ; BRING IN THE NEW SAMPLE XN
  166. *
  167.     LRLK    AR1,>3FF     ; POINT TO THE BOTTOM OF BLOCK B1
  168.     LARP    AR1
  169. *
  170.     MPYK    0
  171.     ZAC
  172. *
  173.     RPTK    >4F
  174.     MACD    >FF00,*-
  175. *
  176.     APAC
  177.     SACH    YN,1
  178. *
  179.     OUT    YN,PA2         ; OUTPUT THE FILTER RESPONSE y(n)
  180. *
  181.     B    WAIT         ; GO GET THE NEXT POINT
  182. *
  183.     END
  184.